#ifndef PREDICAT_H
#define PREDICAT_H

#ifdef __cplusplus
extern "C"{
#endif

int bw_is_data_reg(L_Operand * operand);
int bw_is_addr_reg(L_Operand * operand);


int bw_is_gen_data_reg(L_Operand * operand);
int bw_is_mac_data_reg(L_Operand * operand);

int bw_is_gen_addr_reg(L_Operand * operand);
int bw_is_mac_addr_reg(L_Operand * operand);

int bw_is_imm_or_label(L_Operand * operand);
int bw_is_reg(L_Operand * operand);

int bw_is_cb(L_Operand * opd);
int bw_is_imm(L_Operand * opd);
int bw_is_label(L_Operand *opd);

int is_supported_by_AGU(L_Oper * oper);

int bw_is_simd_start(L_Oper *oper);
int bw_is_simd_end(L_Oper *oper);

int bw_is_simd_load(L_Oper *oper);
int bw_is_simd_store(L_Oper *oper);


int bw_is_ignored_oper(L_Oper *oper);

int bw_is_unroll_cb(L_Cb *cb);
int bw_is_loop_header(L_Cb *cb);
int bw_is_loop_remainder(L_Cb* cb);
#ifdef __cplusplus
}
#endif
#endif
